in the app.cfg configuration file: [mysql] host=ultracgis.com login=sherzodr password=secret [profile] first name=Sherzod last name=Ruzmetov email=sherzodrAATTcpan.org in your Perl application: use Config::Simple; my $cfg = new Config::Simple(filename=>"app.cfg"); print "MySQL host: ", $config->param("mysql.host"), "\n"; print "MySQL login: ", $config->param("mysql.login"), "\n"; # to get just [mysql] block: my $mysql = $cfg->param(-block=>"mysql"); print "MySQL host: ", $mysql->{host}, "\n"; print "MySQL login: ", $mysql->{login}, "\n"; $cfg->write(); # Tied hash access... tie my %Config, "Config::Simple::Tie", "app.cfg", O_RDONLY|O_CREAT or die $Config::Simple::errstr; print "MySQL host: ", $Config{'mysql.host'}, "\n"; # setting new MySQL host value $Config{'mysql.host'} = "new.localhost"; # this also updates the file delete $Config{'mysql.RaiseError'}; # also updates the file